package main.entities;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity(name = "Provider")
@Table(name = "providers")
public class Provider implements Serializable {

	/**
	 * GUID for Serializable.
	 */
	private static final long serialVersionUID = -6915578309150938569L;
	
	private Integer id;
	private String fName;
	private String middleInitial;
	private String lName;
	private String providerId;
	private String phone;
	private String address1;
	private String address2;
	private String city;
	private String state;
	private String credentials;
	private String gender;
	private Integer providerRole;
	private Date dateAdded;
	
	public Provider() {
		
	}
	
	@Id
    @SequenceGenerator(name = "ProvidersIdSeq", sequenceName = "provider_id_seq", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ProvidersIdSeq")
	@Column(name = "id")
	public Integer getId() {
		return id;
	}
	
	@Column(name = "fname", length = 40)
	public String getfName() {
		return fName;
	}
	
	@Column(name = "mi", length = 1)
	public String getMiddleInitial() {
		return middleInitial;
	}
	
	@Column(name = "lname")
	public String getlName() {
		return lName;
	}
	
	@Column(name = "provider_id", length = 40)
	public String getProviderId() {
		return providerId;
	}
	
	@Column(name = "phone", length = 20)
	public String getPhone() {
		return phone;
	}
	
	@Column(name = "address1", length = 100)
	public String getAddress1() {
		return address1;
	}
	
	@Column(name = "address2", length = 100)
	public String getAddress2() {
		return address2;
	}
	
	@Column(name = "city", length = 40)
	public String getCity() {
		return city;
	}
	
	@Column(name = "state", length = 40)
	public String getState() {
		return state;
	}
	
	@Column(name = "credentials", length = 40)
	public String getCredentials() {
		return credentials;
	}
	
	@Column(name = "gender", length = 1)
	public String getGender() {
		return gender;
	}
	
	@Column(name = "provider_role")
	public Integer getProviderRole() {
		return providerRole;
	}
	
	@Column(name = "date_added")
	public Date getDateAdded() {
		return dateAdded;
	}
	
	public void setId(Integer id) {
		this.id = id;
	}
	
	public void setfName(String fName) {
		this.fName = fName;
	}
	
	public void setMiddleInitial(String middleInitial) {
		this.middleInitial = middleInitial;
	}
	
	public void setlName(String lName) {
		this.lName = lName;
	}
	
	public void setProviderId(String providerId) {
		this.providerId = providerId;
	}
	
	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	public void setAddress1(String address1) {
		this.address1 = address1;
	}
	
	public void setAddress2(String address2) {
		this.address2 = address2;
	}
	
	public void setCity(String city) {
		this.city = city;
	}
	
	public void setState(String state) {
		this.state = state;
	}
	
	public void setCredentials(String credentials) {
		this.credentials = credentials;
	}
	
	public void setGender(String gender) {
		this.gender = gender;
	}
	
	public void setProviderRole(Integer providerRole) {
		this.providerRole = providerRole;
	}
	
	public void setDateAdded(Date dateAdded) {
		this.dateAdded = dateAdded;
	}
	
}
